package com.nidu.demo.log.aop;

import java.lang.annotation.*;

/**
 * 操作日志注解
 * 用于标记需要记录操作日志的方法
 *
 * @author auto
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface OperateLogging {
    
    /**
     * 操作模块类型
     */
    String type() default "";
    
    /**
     * 操作名称
     */
    String subType() default "";
    
    /**
     * 操作内容模板，支持SpEL表达式
     */
    String action() default "";
    
    /**
     * 业务ID，支持SpEL表达式
     */
    String bizId() default "";
    
    /**
     * 扩展字段，支持SpEL表达式
     */
    String extra() default "";
    
    /**
     * 是否启用日志记录，默认为true
     */
    boolean enable() default true;
}
